package com.spring.demo6.factory;

import java.lang.annotation.*;

/**
 * 和@Autowired注解类似，也是用来注入依赖的对象的，spring容器会对bean中所有字段、方法进行遍历，标注有@Resource注解的，都会进行注入
 *
 * 查找过程：
 * -> 先按Resource的name值作为bean名称找
 * -> 按名称（字段名称、方法名称、set属性名称〉找
 * -> 按类型找
 * -> 通过限定符@Qualifier过滤
 * -> @Primary
 * -> @Priority
 * -> 根据名称找（字段名称或者方法参数名称)
 */
@Documented
@Target({ElementType.TYPE, ElementType.FIELD, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface MyResource {

    // 作为bean的名称
    String name() default "";

    // ...其他参数
}
